1. Technical Field
The present invention relates to an animation display technology to display on a display unit by animation a screen component configuring a display screen. In particular, the present invention relates to an animation control apparatus, an animation control method, and an animation control program, which use screen components of frames functioning as keys in time series (keyframes), to generate and display the screen components between the keyframes in real time.
2. Background Art
The number and types of data items used by users have been increasing drastically with the spread of personal computers and the digitalization of consumer electronic devices. This, in turn, leads to an increase in size of displays that display a large quantity of data stored in the personal computers and the digital consumer electronic devices. The most common resolution of the displays is Full HD (1920×1080), but resolution called 4k2k (3840×2160) is expected to become mainstream. With the increase in size of the displays, the number of data items that can be displayed at once on a screen tends to increase.
In recent years, a user interface (UI) has been an important constituent part in digital equipment. In addition to the features of a conventional UI, such as a list display of data, display effects that provide graphical screens and a light operation feeling are also important, and differentiation of the equipment has been promoted by allowing the users to realize the enjoyment of operating the equipment. Specific examples of the graphical screens include Cover Flow that is mounted in Apple's cell phones.
However, creating a UI for graphically displaying a large quantity of data involves the following problems. In other words, when creating a graphical UI, a desired display effect or a combination of a plurality of display effects needs to be applied to screen components, such as diagrams, configuring a display screen. The greater the number of screen components to be displayed, the greater the number of screen components to be installed and the more the development time and costs for setting the display effects applied thereto.
For example, suppose that an animation effect is set in each screen component in an operation screen for displaying a list of massive data items stored in equipment. Because the operation screen showing a list of data items has a large number of data items to be displayed, naturally the number of screen components is also large. Furthermore, the display effect is applied to each of the screen components, which makes it difficult to carry out a development within a short period of time, due to the increased number of screen components.
In the conventional art, the following method is considered in order to reduce the problem. In other words, keyframe information that corresponds to a single screen component and configures an animation is stored as basic keyframe information, and this basic keyframe information is enlarged/reduced in accordance with the other screen components, to display the other screen components by animation. This method reduces the development time and costs.
This method, however, has the following problem. In other words, reusing the basic keyframe information by enlarging/reducing it changes a space between points of a trajectory. In other words, a long distance or a short distance is expressed by the same number of keyframes.
Thus, there is known a conventional animation control apparatus that retains keyframe information having time information and sequentially generates and starts rendering interpolation frames in response to completion of a rendering process for rendering one frame (see Patent Document 1, for example). FIG. 14 is a block diagram showing a configuration of the conventional animation control apparatus described in Patent Document 1.
In FIG. 14, a timer 601 is used for acquiring time information upon completion of the rendering process for rendering one frame. A CPU 602 uses keyframe information stored in a keyframe information storage unit 603, to generate an interpolation frame corresponding to the time acquired from the timer 601, render the interpolation frame on a graphic memory 604, and display the interpolation frame on a display screen 605. In this manner, a keyframe is interpolated to achieve smooth animation display, even when realizing a long distance or a short distance using the same number of keyframes.
However, the problem in the configuration described in Patent Document 1 is that the shape of an animation trajectory is likely to change because interpolation frames are sequentially generated and rendered in response to completion of the rendering process for rendering one frame.
Next is described a situation that becomes a problem in the configuration of Patent Document 1. FIGS. 15A to 15C are diagrams for illustrating the problem of the apparatus described in Patent Document 1 and shows an animation display example that is generated based on keyframe information. FIG. 15A shows key components 611 to 614 of a keyframe that corresponds to inflection points of an animation trajectory are extracted and displayed. FIG. 15B shows an example in which the technique described in Patent Document 1 is used to generate interpolation components 615 to 618 of an interpolation frame in corresponding sections. FIG. 15C shows an animation trajectory to be displayed on the display screen 605 by inserting the interpolation frame into the keyframe by means of Patent Document 1.
Note that in this specification, a screen component expressed by keyframe information is referred to as “key component,” and the entire frame in which the key component is rendered is referred to as “keyframe.” Similarly, a screen component that is created by interpolating the keyframe information is referred to as “interpolation component,” and the entire frame in which the interpolation component is rendered is referred to as “interpolation frame.”
In FIG. 15A, the animation trajectory expressed by the key components 611 to 614 is a trajectory that is expressed by a model of a falling object, and expresses an animation in which an object falls from the key component 611 to the key component 612, bounces up to the key component 613, and falls again to the key component 614. By rendering these key components successively based on the keyframe information, the object that moves in the trajectory shown in FIG. 15A is displayed by animation.
In FIG. 15B, according to Patent Document 1, the interpolation components 615, 616 are generated between the key component 611 and the key component 612. In response to completion of the rendering process for rendering one frame, the subsequent frame is generated. Therefore, after completion of rendering the interpolation component 615, the interpolation component 616 is generated and rendered. However, a rendering start time that is retained by the keyframe information of the key component 612 might be reached prior to the completion of rendering the interpolation component 616. In this case, according to Patent Document 1, rendering of the subsequent frame is not started until rendering of the interpolation component 616 is completed. Therefore, a rendering completion time at which rendering of the interpolation component 616 is completed, which is a rendering start time for start rendering the subsequent frame, is a time point at which the interpolation component 617 is rendered. Consequently, the interpolation component 617 is generated/rendered by using data of the keyframe information expressing the key component 612 and data of the keyframe information expressing the key component 613. As a result, a keyframe for displaying the key component 612 (shown in a dashed line) is not rendered. In this case, such a situation where a keyframe is not displayed does not necessarily happen; thus, depending on the timing, a keyframe is rendered, as expressed by the interpolation components 617, 618 or the key component 613. As a result of not rendering the key component 612, the animation trajectory is displayed on the display screen 605, as shown in FIG. 15C.
In the conventional art, therefore, although the display of the trajectory shown in FIG. 15A is simulated, the simulation results in the trajectory shown in FIG. 15C. In other words, the problem is that a trajectory with inflection points changes its shape if a key component based on a corresponding keyframe information is not rendered in predetermined coordinates at a predetermined time. Especially when using a physical model or the like to create an animation, although the effects of smoothly moving the animation itself can be obtained by the interpolation frames, the trajectory thereof changes its shape, causing a feeling of strangeness on the users.    Patent Document 1: Japanese Patent Publication No. 3616241